home *** CD-ROM | disk | FTP | other *** search
- #include <egb.h>
- #include <fmc.h>
- #include <string.h>
- #include <math.h>
- #include "dabe.h"
-
- extern char work[];
- extern char fwork[];
- extern char para[];
- extern int event1_x, event1_y;
- extern int event2_x, event2_y;
- extern int event3_x, event3_y;
- extern char carddata[6][1024];
- extern short putcard_line[];
- extern short putysize;
- short rad = 0;
-
- void g_putchr(float x, float y, short col_moji, char *printstr)
- {
- short charlen = strlen(printstr);
-
- WORD(para + 0) = x * 16;
- WORD(para + 2) = (y + 1) * 16;
- WORD(para + 4) = charlen;
- strcpy((para + 6), printstr);
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
- EGB_color(work, 0, col_moji);
- EGB_sjisString(work, para);
- }
-
- short g_putchr2(short x, short y, short col_moji, char *printstr, short putlen)
- {
- char *pps;
- short hannum = 0;
- short i = 0;
-
- if( putlen > strlen( printstr ) )
- putlen = strlen( printstr );
- else {
- pps = printstr;
- while( i < putlen ){
- if( iskanji( *pps ) ){
- pps += 2;
- i += 2;
- } else {
- hannum++;
- pps++;
- i++;
- }
- }
- if( fmod( hannum, 2 ) )
- putlen--;
- }
-
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
- EGB_color(work, 0, col_moji);
-
- WORD(para + 0) = x * 16;
- WORD(para + 2) = (y + 1) * 16;
- WORD(para + 4) = putlen;
- strcpy( ( para + 6 ), printstr);
- EGB_sjisString( work, para );
-
- return putlen;
- }
-
- void g_winbox(short x1, short y1, short x2, short y2,
- short boxcol, short alinecol, short ulinecol) /* BOXを表示 */
- {
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
-
- WORD(para + 0) = x1 * 16;
- WORD(para + 2) = (y1 * 16) + 1;
- WORD(para + 4) = (x2 + 1) * 16;
- WORD(para + 6) = (y2 + 1) * 16;
- EGB_color(work, 0, boxcol);
- EGB_color(work, 2, boxcol);
- EGB_rectangle(work, para);
-
- WORD(para + 0) = 2;
- WORD(para + 2) = x1 * 16;
- WORD(para + 4) = (y1 * 16) + 1;
- WORD(para + 6) = x1 * 16;
- WORD(para + 8) = (y2 + 1) * 16;
- EGB_color(work, 0, alinecol);
- EGB_color(work, 2, alinecol);
- EGB_connect(work, para);
-
- WORD(para + 0) = 3;
- WORD(para + 2) = (x1 * 16) + 2;
- WORD(para + 4) = (y2 + 1) * 16;
- WORD(para + 6) = (x2 + 1) * 16;
- WORD(para + 8) = (y2 + 1) * 16;
- WORD(para + 10) = (x2 + 1) * 16;
- WORD(para + 12) = (y1 * 16) + 1;
- EGB_color(work, 0, ulinecol);
- EGB_color(work, 2, ulinecol);
- EGB_connect(work, para);
-
- g_under_bar( x1, x2, y2, TITCOL, DTICOL );
- }
-
- void g_under_bar( float x1, float x2, float y, short boxcol, short linecol )
- {
- WORD(para + 0) = x1 * 16;
- WORD(para + 2) = ( y + 1 ) * 16;
- WORD(para + 4) = (x2 + 1) * 16;
- WORD(para + 6) = ( y + 1 ) * 16 + 4;
- EGB_color(work, 0, linecol );
- EGB_color(work, 2, boxcol );
- EGB_rectangle(work, para);
- }
-
- void g_boxfill(float x1, float y1, float x2, float y2, short col)
- {
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
-
- WORD(para + 0) = x1 * 16;
- WORD(para + 2) = y1 * 16;
- WORD(para + 4) = (x2 + 1) * 16;
- WORD(para + 6) = (y2 + 1) * 16;
- EGB_color(work, 0, col);
- EGB_color(work, 2, col);
- EGB_rectangle(work, para);
-
- }
-
- void g_wintitle(float x1, float x2, float y, short boxcol, short alinecol,
- short ulinecol, short col_moji, char *pwork, short page, short sound ) /* Titleを表示 */
- {
- short charlen = strlen(pwork);
-
- if( sound == SOUND_ON )
- open_sound();
-
- EGB_writePage( work, page );
- EGB_paintMode( work, 0x22);
-
- WORD(para + 0) = (x1 * 16) + 1;
- WORD(para + 2) = ((y * 16) + 1) + 1;
- WORD(para + 4) = ((x2 + 1) * 16) - 1;
- WORD(para + 6) = ((y + 1) * 16) - 1;
- EGB_color(work, 0, boxcol);
- EGB_color(work, 2, boxcol);
- EGB_rectangle(work, para);
-
- WORD(para + 0) = 3;
- WORD(para + 2) = ((x2 + 1) * 16) - 1;
- WORD(para + 4) = (y * 16) + 1;
- WORD(para + 6) = x1 * 16;
- WORD(para + 8) = (y * 16) + 1;
- WORD(para + 10) = x1 * 16;
- WORD(para + 12) = ((y + 1) * 16) - 1;
- EGB_color(work, 0, alinecol);
- EGB_color(work, 2, alinecol);
- EGB_connect(work, para);
-
- WORD(para + 0) = 3;
- WORD(para + 2) = (x2 + 1) * 16;
- WORD(para + 4) = ((y * 16) + 1) + 1;
- WORD(para + 6) = (x2 + 1) * 16;
- WORD(para + 8) = (y + 1) * 16;
- WORD(para + 10) = (x1 * 16) + 1;
- WORD(para + 12) = (y + 1) * 16;
- EGB_color(work, 0, ulinecol);
- EGB_color(work, 2, ulinecol);
- EGB_connect(work, para);
-
- if(((x2+1) * 2 - x1 * 2) <= charlen)
- WORD(para + 0) = x1 * 16;
- else
- WORD(para + 0) = (x1*2 + ((x2*2 - x1*2) / 2) - (charlen / 2)) * 8;
-
- WORD(para + 2) = (y + 1) * 16;
- WORD(para + 4) = charlen;
- strcpy((para + 6), pwork);
- EGB_color(work, 0, col_moji);
- EGB_sjisString(work, para);
-
- if(((x2+1) * 2 - x1 * 2) <= charlen)
- WORD(para + 0) = x1 * 16 + 1;
- else
- WORD(para + 0) = (x1*2 + ((x2*2 - x1*2) / 2) - (charlen / 2)) * 8 + 1;
- EGB_sjisString(work, para);
-
- sound_off();
-
- }
-
-
- void g_winkom(float x1, float x2, float y, short boxcol, short alinecol,
- short ulinecol, short col_moji, char *pwork, short page )
- {
- short charlen = strlen(pwork);
-
- EGB_writePage( work, page );
- EGB_paintMode( work, 0x22);
-
- WORD(para + 0) = (x1 * 16) + 1;
- WORD(para + 2) = ((y * 16) + 1) + 1;
- WORD(para + 4) = ((x2 + 1) * 16) - 1;
- WORD(para + 6) = ((y + 1) * 16) - 1;
- EGB_color(work, 0, boxcol);
- EGB_color(work, 2, boxcol);
- EGB_rectangle(work, para);
-
- WORD(para + 0) = 3;
- WORD(para + 2) = ((x2 + 1) * 16) - 1;
- WORD(para + 4) = (y * 16) + 1;
- WORD(para + 6) = x1 * 16;
- WORD(para + 8) = (y * 16) + 1;
- WORD(para + 10) = x1 * 16;
- WORD(para + 12) = ((y + 1) * 16) - 1;
- EGB_color(work, 0, alinecol);
- EGB_color(work, 2, alinecol);
- EGB_connect(work, para);
-
- WORD(para + 0) = 3;
- WORD(para + 2) = (x2 + 1) * 16;
- WORD(para + 4) = ((y * 16) + 1) + 1;
- WORD(para + 6) = (x2 + 1) * 16;
- WORD(para + 8) = (y + 1) * 16;
- WORD(para + 10) = (x1 * 16) + 1;
- WORD(para + 12) = (y + 1) * 16;
- EGB_color(work, 0, ulinecol);
- EGB_color(work, 2, ulinecol);
- EGB_connect(work, para);
-
- if(((x2+1) * 2 - x1 * 2) <= charlen)
- WORD(para + 0) = x1 * 16;
- else
- WORD(para + 0) = (x1*2 + ((x2*2 - x1*2) / 2) - (charlen / 2)) * 8;
-
- WORD(para + 2) = (y + 1) * 16;
- WORD(para + 4) = charlen;
- strcpy((para + 6), pwork);
- EGB_color(work, 0, col_moji);
- EGB_sjisString(work, para);
- }
-
- void g_put_endicn( float x, float y )
- {
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
-
- DWORD(para + 0) = 0x28000+0x5B*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = event1_x = x * 16;
- WORD(para + 8) = event1_y = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_color(work, 0, 0x00 ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
- }
-
- void g_rput_endicn( float x, float y )
- {
-
- DWORD(para + 0) = 0x28000+0x5B*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16;
- WORD(para + 8) = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
- EGB_color(work, 0, 0x0F ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
- }
-
- void g_put_nexticn( float x, float y )
- {
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
-
- DWORD(para + 0) = 0x28000+0x5D*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16 - 1;
- WORD(para + 8) = y * 16 - 1;
- WORD(para + 10) = x * 16 + 31 - 1;
- WORD(para + 12) = y * 16 + 31 - 1;
- EGB_color(work, 0, 0x0F ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
-
- DWORD(para + 0) = 0x28000+0x5D*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16 + 1;
- WORD(para + 8) = y * 16 + 1;
- WORD(para + 10) = x * 16 + 31 + 1;
- WORD(para + 12) = y * 16 + 31 + 1;
- EGB_color(work, 0, 0x00 ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
-
- DWORD(para + 0) = 0x28000+0x5D*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = event2_x = x * 16;
- WORD(para + 8) = event2_y = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_color(work, 0, 0x08 ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
- }
-
- void g_rput_nexticn( float x, float y )
- {
- DWORD(para + 0) = 0x28000+0x5D*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16;
- WORD(para + 8) = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
- EGB_color(work, 0, 0x0F ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
- }
-
- void g_put_backicn( float x, float y )
- {
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
-
- DWORD(para + 0) = 0x28000+0x5C*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16 - 1;
- WORD(para + 8) = y * 16 - 1;
- WORD(para + 10) = x * 16 + 31 - 1;
- WORD(para + 12) = y * 16 + 31 - 1;
- EGB_color(work, 0, 0x0F ) ;
- EGB_putBlockColor(work, 2 ,para ) ;
-
- DWORD(para + 0) = 0x28000+0x5C*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16 + 1;
- WORD(para + 8) = y * 16 + 1;
- WORD(para + 10) = x * 16 + 31 + 1;
- WORD(para + 12) = y * 16 + 31 + 1;
- EGB_color(work, 0, 0x00 ) ;
- EGB_putBlockColor(work, 2 ,para ) ;
-
- DWORD(para + 0) = 0x28000+0x5C*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = event3_x = x * 16;
- WORD(para + 8) = event3_y = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_color(work, 0, 0x08 ) ;
- EGB_putBlockColor(work, 2 ,para ) ;
- }
-
- void g_rput_backicn( float x, float y )
- {
- DWORD(para + 0) = 0x28000+0x5C*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16;
- WORD(para + 8) = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
- EGB_color(work, 0, 0x0F ) ;
- EGB_putBlockColor(work, 2 ,para ) ;
- }
-
- void g_put_msgicn( float x, float y )
- {
- DWORD(para + 0) = 0x28000+0x18*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16;
- WORD(para + 8) = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
- EGB_color(work, 0, 0x00 ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
- }
- void g_put_erricn( float x, float y )
- {
- DWORD(para + 0) = 0x28000+0x1A*256 ;
- WORD(para + 4) = 0x108 ;
- WORD(para + 6) = x * 16;
- WORD(para + 8) = y * 16;
- WORD(para + 10) = x * 16 + 31;
- WORD(para + 12) = y * 16 + 31 ;
- EGB_writePage( work, 0x00 );
- EGB_paintMode( work, 0x22);
- EGB_color(work, 0, 0x00 ) ;
- EGB_putBlockColor(work, 0 ,para ) ;
- }
-
- void g_putbotton( short komnum )
- {
- EGB_writePage( work, 0x00 );
- g_putchr( 37, 3 + putysize * ( komnum - 1 ), 0x08, "▲" );
- EGB_color( work, 0, 0x00 );
- WORD( para + 0 ) = 3;
- WORD( para + 2 ) = 37.5 * 16 - 1;
- WORD( para + 4 ) = ( 3 + putysize * ( komnum - 1 ) ) * 16;
- WORD( para + 6 ) = 38 * 16 - 1;
- WORD( para + 8 ) = ( 3 + putysize * ( komnum - 1 ) + 1 ) * 16;
- WORD( para + 10 ) = 37 * 16;
- WORD( para + 12 ) = ( 3 + putysize * ( komnum - 1 ) + 1 ) * 16;
- EGB_connect( work, para );
- EGB_color( work, 0, 0x0F );
- WORD( para + 0 ) = 2;
- WORD( para + 2 ) = 37.5 * 16 - 2;
- WORD( para + 4 ) = ( 3 + putysize * ( komnum - 1 ) ) * 16;
- WORD( para + 6 ) = 37 * 16 - 2;
- WORD( para + 8 ) = ( 3 + putysize * ( komnum - 1 ) + 1 ) * 16;
- EGB_connect( work, para );
- g_putchr( 37, 3 + putysize * ( komnum - 1 ) + 1.5, 0x08, "▼");
- EGB_color( work, 0, 0x00 );
- WORD( para + 0 ) = 2;
- WORD( para + 2 ) = 38 * 16 - 1;
- WORD( para + 4 ) = ( 3 + putysize * ( komnum - 1 ) + 1.5 ) * 16 + 1;
- WORD( para + 6 ) = 37.5 * 16 - 1;
- WORD( para + 8 ) = ( 3 + putysize * ( komnum - 1 ) + 2.5 ) * 16;
- EGB_connect( work, para );
- EGB_color( work, 0, 0x0F );
- WORD( para + 0 ) = 3;
- WORD( para + 2 ) = 38 * 16 - 1;
- WORD( para + 4 ) = ( 3 + putysize * ( komnum - 1 ) + 1.5 ) * 16 + 1;
- WORD( para + 6 ) = 37 * 16 - 2;
- WORD( para + 8 ) = ( 3 + putysize * ( komnum - 1 ) + 1.5 ) * 16 + 1;
- WORD( para + 10 ) = 37.5 * 16 - 2;
- WORD( para + 12 ) = ( 3 + putysize * ( komnum - 1 ) + 2.5 ) * 16;
- EGB_connect( work, para );
- }
-
-
- /************************************************************************/
-
- void put_komdata(char *mosread_data, short komnum )
- {
- short mojilen;
- short line_cnt;
- short declen;
-
- EGB_writePage( work, 0x00 );
-
- mojilen = strlen( mosread_data );
-
- if( mojilen <= 18 )
- g_putchr( 2, 3 + putysize * ( komnum - 1 ), CHRCOL, mosread_data );
- else{
- line_cnt = 0;
- while( (mojilen > 18) && (line_cnt < (putysize - 1) ) ){
- declen = g_putchr2( 2, 3 + putysize * ( komnum - 1 ) + line_cnt, CHRCOL, mosread_data, 18 );
- mojilen -= declen;
- mosread_data += declen;
- line_cnt++;
- }
- if( (mojilen > 0) && (line_cnt < (putysize - 1) ) )
- g_putchr( 2, 3 + putysize * ( komnum - 1 ) + line_cnt, CHRCOL, mosread_data);
- }
- }
-
- void put_carddata(char *mosread_data, short komnum )
- {
- short mojilen;
- short line_cnt;
- short putlen;
-
- mojilen = strlen( mosread_data );
-
- EGB_writePage( work, 0x00 );
-
- if( mojilen <= 50 )
- g_putchr( 12, 3 + putysize * ( komnum - 1 ), CHRCOL, mosread_data );
- else {
- line_cnt = 0;
- while( (mojilen > 50) && (line_cnt < putysize) ){
- putlen = g_putchr2(12, 3 + putysize * ( komnum - 1 ) + line_cnt, CHRCOL, mosread_data, 50 );
- mojilen -= putlen;
- mosread_data += putlen;
- line_cnt++;
- }
- if( (mojilen > 0) && (line_cnt < putysize) )
- g_putchr(12, 3 + putysize * ( komnum - 1 ) + line_cnt, CHRCOL, mosread_data);
- }
- }
-
- void put_roll_carddata( short bot )
- {
- short putcard_len[100];
- short charlen;
- short komnum;
- short i;
- char *pcd;
- short hannum;
- short linecnt;
-
- if( fmod( bot, 2 ) ){
- komnum = ( bot / 2 ) + 1;
- g_putchr( 37, 3 + putysize * ( komnum - 1 ), 0x0F, "▲" );
- BPB_freeon2( 10, 2500 );
- } else {
- komnum = bot / 2;
- g_putchr( 37, 3 + putysize * ( komnum - 1 ) + 1.5, 0x0F, "▼");
- BPB_freeon2( 10, 3000 );
- }
-
- for( i = 0; i < 30; i++ )
- putcard_len[ i ] = 0;
- charlen = strlen( carddata[ komnum - 1 ] );
- pcd = &carddata[ komnum - 1 ][ 0 ];
- linecnt = 0;
-
- while( charlen > 0 ){
- if( charlen < 50 ){
- putcard_len[ linecnt ] = charlen;
- break;
- } else {
- i = 0;
- hannum = 0;
- while( i < 50 ){
- if( iskanji( *pcd ) ){
- pcd += 2;
- i += 2;
- } else {
- hannum++;
- pcd++;
- i++;
- }
- }
- if( fmod( hannum, 2 ) ){
- putcard_len[ linecnt ] = 49;
- charlen -= 49;
- pcd -= 2;
- } else {
- putcard_len[ linecnt ] = 50;
- charlen -= 50;
- }
- }
- linecnt++;
- }
-
-
- if( fmod( bot, 2 ) ){
- if( --putcard_line[ komnum - 1 ] < 1 ){
- putcard_line[ komnum - 1 ] = 1;
- g_putbotton( komnum );
- return;
- }
- } else {
- ++putcard_line[ komnum - 1];
- if( putcard_len[ putcard_line[ komnum - 1] + ( putysize - 2 )] <= 0 ){
- putcard_line[ komnum - 1 ]--;
- g_putbotton( komnum );
- return;
- }
- }
-
- pcd = &carddata[ komnum - 1 ][ 0 ];
- for( i = 1; i < putcard_line[ komnum - 1 ]; i++ )
- pcd += putcard_len[ i - 1 ];
- g_boxfill( 12, 3 + putysize * ( komnum - 1 ) + 0.0625, 36, 3 + putysize * ( komnum - 1 ) + (putysize - 1), BOXCOL );
- put_carddata( pcd, komnum );
-
- g_putbotton( komnum );
- }
-
- void putmessage( char *swork )
- {
- short charlen;
- short putlen;
- short lox, loy;
- short x;
-
- get_xy( &lox, &loy );
-
- strcpy( fwork, "Message" );
- g_wintitle(lox, lox + 28, loy, TITCOL, UTICOL, DTICOL, TCHCOL, fwork, page0, SOUND_ON );
- g_winbox( lox, loy + 1, lox + 28, loy + 3, BOXCOL, UBXCOL, DBXCOL);
-
- charlen = strlen( swork );
- if( charlen <= 48 ){
- x = (54 - ( charlen + 6 )) / 2 / 2;
- g_put_msgicn( lox + 1 + x, loy + 1.5 );
- g_putchr( lox + 1 + x + 3, loy + 2, CHRCOL, swork );
- } else {
- g_put_msgicn( lox + 1, loy + 1.5 );
- putlen = g_putchr2( lox + 4, loy + 2, CHRCOL, swork, 48 );
- charlen -= putlen;
- swork += putlen;
- while( charlen > 54 ){
- MOS_loop();
- g_winbox( lox, loy + 1, lox + 28, loy + 3, BOXCOL, UBXCOL, DBXCOL);
- putlen = g_putchr2( lox + 1, loy + 2, CHRCOL, swork, 54 );
- charlen -= putlen;
- swork += putlen;
- }
- MOS_loop();
- g_winbox( lox, loy + 1, lox + 28, loy + 3, BOXCOL, UBXCOL, DBXCOL);
- g_putchr( lox + 1, loy + 2, CHRCOL, swork );
- }
- }
-
- void puterror( char *swork )
- {
- short charlen;
- short putlen;
- short lox, loy;
- short x;
-
- get_xy( &lox, &loy );
-
- BPB_freeon2( 40, 3000 );
- strcpy( fwork, "Error" );
- g_wintitle( lox, lox + 28, loy, ETICOL, EUTCOL, EDTCOL, ECHCOL, fwork, page0, SOUND_OFF );
- g_winbox( lox, loy + 1, lox + 28, loy + 3, BOXCOL, ETICOL, ETICOL);
- g_under_bar( lox, lox + 28, loy + 3, ETICOL, EDTCOL );
-
- charlen = strlen( swork );
- if( charlen <= 48 ){
- x = (54 - ( charlen + 6 )) / 2 / 2;
- g_put_msgicn( lox + 1 + x, loy + 1.5 );
- g_putchr( lox + 1 + x + 3, loy + 2, CHRCOL, swork );
- } else {
- g_put_msgicn( lox + 1, loy + 1.5 );
- putlen = g_putchr2( lox + 4, loy + 2, CHRCOL, swork, 48 );
- charlen -= putlen;
- swork += putlen;
- while( charlen > 54 ){
- MOS_loop();
- g_winbox( lox, loy + 1, lox + 28, loy + 3, BOXCOL, UBXCOL, DBXCOL);
- g_under_bar( lox, lox + 28, loy + 3, ETICOL, EDTCOL );
- putlen = g_putchr2( lox + 1, loy + 2, CHRCOL, swork, 54 );
- charlen -= putlen;
- swork += putlen;
- }
- MOS_loop();
- g_winbox( lox, loy + 1, lox + 28, loy + 3, BOXCOL, UBXCOL, DBXCOL);
- g_under_bar( lox, lox + 28, loy + 3, ETICOL, EDTCOL );
- g_putchr( lox + 1, loy + 2, CHRCOL, swork );
- }
- }
-
- void get_xy( short *x, short *y )
- {
-
- if( ++rad > 4 )
- rad = 1;
-
- switch( rad ){
- case 1: *x = 6;
- *y = 7;
- break;
- case 2: *x = 7;
- *y = 10;
- break;
- case 3: *x = 5;
- *y = 13;
- break;
- default : *x = 8;
- *y = 16;
- break;
- }
- }
-